home *** CD-ROM | disk | FTP | other *** search
/ Tech Arsenal 1 / Tech Arsenal (Arsenal Computer).ISO / tek-13 / tde3.zip / READ_ME.TDE < prev    next >
Text File  |  1993-06-05  |  28KB  |  600 lines

  1.  
  2.                      TDE, the Thomson-Davis Editor
  3.                               Version 3.0
  4.                              June 5, 1993
  5.                               Frank Davis
  6.  
  7.  
  8. Author:
  9.  
  10.                Author:          Frank Davis
  11.  
  12.                Program name:    TDE, the Thomson-Davis Editor
  13.                                 version 3.0
  14.  
  15.                e-mail address:  fmd@tifton.cpes.peachnet.edu
  16.  
  17.                Home address:    102 Starr Street
  18.                                 Tifton, Georgia  31794
  19.                                 USA
  20.  
  21.                Work address:    U.S. Department of Agriculture
  22.                                 Agricultural Research Service
  23.                                 Southeast Watershed Research Laboratory
  24.                                 Georgia Coastal Plain Experiment Station
  25.                                 Tifton, Georgia  31793
  26.                                 USA
  27.  
  28.  
  29. Based on an editor by:          Douglas Thomson
  30.                                 c/- Computing
  31.                                 M.U.C.G.
  32.                                 Switchback Road
  33.                                 Churchill
  34.                                 Victoria   3842
  35.                                 AUSTRALIA
  36.                                 doug@giaeb.cc.monash.edu.au
  37.  
  38.                                 Doug's old e-mail address was doug@giaea.oz
  39.  
  40.  
  41. Contributions by:
  42.  
  43.    Tom Waters, twaters@relay.nswc.navy.mil - testing/comments/code since 1.0
  44.      (Tom can be reached by BBS (301)-596-1044)
  45.  
  46.    Pierre Jelenc, pcj1@columbia.edu - language support, testing/code/comments
  47.  
  48.    Dave Regan, regan@jacobs.cs.orst.edu - basic detab and entab code
  49.  
  50.    David Merrill, u09606@uicvm.uic.edu - testing/comments
  51.  
  52.    Jim Lee, jlee@ece.orst.edu - basic code for finding signatures in tdecfg.exe
  53.  
  54.  
  55. Contacts:
  56.  
  57.    Pierre Jelenc, pcj1@columbia.edu, will maintain and
  58.    distribute documentation and support files for translated versions of
  59.    TDE.  Some users are interested in using TDE with non-English
  60.    languages.  Check with Pierre before you translate the documentation,
  61.    as he may have the language version you need.  Incidentally, Pierre
  62.    is also developing a language independent sort program.
  63.  
  64.    For those in the Department of Defence, Tom Waters,
  65.    twaters@relay.nswc.navy.mil, will be available to answer questions
  66.    and provide support.  He has worked with TDE source code since
  67.    version 1.0, so he knows how the guts of the program works.  Usually,
  68.    the hardware and software at DoD are from the same manufacturor, so
  69.    he may have a version of TDE that takes advantage of the capabilities
  70.    of those machines.
  71.  
  72.  
  73. File descriptions:
  74.  
  75.    TDE.EXE       TDE executable for IBM PC or compatible
  76.    TDE.DOC       TDE user's manual
  77.    TDE.CFG       configuration file
  78.  
  79.    TDECFG.EXE    utility to customize color and keys in tde.exe
  80.    TDECFG.DOC    tdecfg user's manual
  81.    SAMPLE.HLP    sample file for redefining help screen
  82.  
  83.    READ_ME.TDE   this file
  84.  
  85.  
  86.       All source for TDE editor, not needed unless you want to modify TDE.
  87.  
  88.    INT24.ASM     critical error replacement - interrupt 24
  89.    SIMUL101.ASM  utility to simulate 101 scan codes on 83/84 key keyboards
  90.    BLOCK.C       line, stream, and box block functions
  91.    CONSOLE.C     video and keyboard routines
  92.    CRITER.C      critical error prompt and info
  93.    DIFF.C        diff algorithms
  94.    DIRLIST.C     directory list functions
  95.    ED.C          basic editor functions
  96.    FILE.C        readin and writing files
  97.    FINDREP.C     Boyer-Moore search routines
  98.    HWIND.C       initialization and display routines
  99.    MACRO.C       keyboard macros
  100.    MAIN.C        main function and hardware routines
  101.    PORT.C        routines for MSC and BC
  102.    REGX.C        NFA pattern matching machine
  103.    SORT.C        stable quicksort
  104.    TAB.C         entab and detab routines
  105.    TDEASM.C      pointer/string/display assembly routines
  106.    UTILS.C       misc. editor functions
  107.    WINDOW.C      window routines
  108.    WORDWRAP.C    word wrap functions
  109.    COMMON.H      external global variable declarations
  110.    CRITER.H      critical error info
  111.    DEFAULT.H     default function key assignments
  112.    DEFINE.H      editor function defs
  113.    GLOBAL.H      initial global variable declarations and editor function array
  114.    HELP.H        intro and help screen
  115.    PROMPTS.H     all user prompts
  116.    TDEFUNC.H     prototypes for all functions
  117.    TDESTR.H      defs for all structures and defines
  118.    MAKETDE       make file -- MSC, BC, QuickC
  119.  
  120.  
  121.   All source for configuration utility, not needed unless you want to modify.
  122.  
  123.    TDECFG.C      main configuration routines
  124.    CFGCOLOR.C    color utility routines
  125.    CFGFILE.C     parse routines for configuration file
  126.    CFGHELP.C     redefine the help screen
  127.    CFGKEYS.C     key redefinition routines
  128.    CFGMACRO.C    save macro file in tde.exe
  129.    CFGMODES.C    default editor routines
  130.    TDECFG.H      global structures and prototypes for tdecfg
  131.    CFGCOLOR.H    defines for color utility
  132.    CFGFILE.H     structures for parse routines
  133.    CFGHELP.H     defines for rewriting help screen
  134.    CFGKEYS.H     structures for all available keys and functions
  135.    CFGMACRO.H    defines for macro screen
  136.    CFGMODES.H    structures for default editor modes
  137.    MAKECFG       config make file
  138.  
  139.  
  140. Disclaimer:
  141.  
  142.   This program is provided "as is" without warranty of any kind, either
  143. expressed or implied, including, but not limited to the fitness for a
  144. particular purpose.  You assume all risk for the use, inability to use,
  145. misuse, or abuse of this program.  In any event, you (and not Frank Davis)
  146. assume the entire cost of loss of use; loss of information; loss of
  147. savings; loss of business profits, business interruption; mental anguish,
  148. mental distress; all direct, consequential, or incidental damages or
  149. losses; all necessary servicing, repair, or correction; and all physical
  150. and mental health problems, acute or chronic, caused by direct or indirect
  151. use of this program by you or any of your relatives, friends, acquain-
  152. tances, co-workers, or otherwise fellow man either known or unknown by
  153. you.
  154.  
  155.   Your use of this software constitutes agreement with and notice of
  156. acknowledgement of the above heretofore stated warranty and limitations.
  157. In addition with your agreement, you henceforth and forever relinquish,
  158. waive, and forfeit all claims, rights, rulings, or judgements against the
  159. forementioned author of said software; however, you retain the right to
  160. keep your first born.  If you decide that it is in your best interest to
  161. waive your right to your first born child, the author is in no way
  162. obligated to accept or support the offspring regardless of age, marital
  163. or employment status of said offspring.
  164.  
  165.   This program is not a product of the U.S. Department of Agriculture or
  166. any other branch of the U.S. Government.  I work on TDE at night,
  167. weekends, and holidays on my own personal time, Frank Davis.
  168.  
  169.  
  170. Claimer:
  171.  
  172.   I use this program all-day-every-day on all of my FORTRAN, C, and
  173. assembly source code at home and at work, Frank Davis.
  174.  
  175.  
  176. Licensing:
  177.  
  178.   This program is released into the public domain.  You may use and
  179. distribute it freely.  There is no copyright, no fee for use, no
  180. licensing, or no registration.  This editor is not user supported,
  181. corporate sponsored, or government subsidized - it is sustained and
  182. maintained solely by Frank Davis.  This editor was written for use not
  183. only as a simple text editor but also as a learning tool.  Examine the
  184. code and discover the basics of editor construction.  Experiment a
  185. little and add your favorite functions or modify the existing functions
  186. to suit your needs/requirements/tastes/etc.  If anyone includes TDE with
  187. their own software, please use common courtesy and give Doug Thomson and
  188. Frank Davis credit for their work (that's the only payment I ask).  If
  189. you release any changes or additions to the TDE editor, please observe
  190. the original spirit of Doug Thomson's DTE 5.1 and release the changes as
  191. public domain software.
  192.  
  193.  
  194.  
  195. Legal Legal Stuff:
  196.  
  197.   Six years ago, as an employee of the Federal government, as part of
  198. my official duties, I wrote several editors that use a double linked
  199. list.  The new scheme in TDE 2.2 uses a double linked list.  Some of the
  200. concepts and/or code and/or techniques that I used to develop those
  201. editors as part of my official duties are incorporated into TDE 2.2.
  202. Being that my current official duties as an employee of the Federal
  203. government requires that I maintain and support those editors, as a
  204. matter of law and ethics, version 3.0 of TDE is released into the public
  205. domain.  It's not so much that I want to release TDE into the public
  206. domain, but more so, it's the law that requires that I release TDE into
  207. the public domain.  Not only is TDE 3.0 based on DTE 5.1, the public
  208. domain editor by Doug Thomson, but it is also based on works of the
  209. United States government, written and currently maintained by my
  210. ownself, Frank.  Many of the ideas that are incorporated into TDE were
  211. derived from editing tasks needed on the job.  Copyrighting off-the-job
  212. what I do on-the-job would not be ethical.
  213.  
  214.  
  215.    See:
  216.  
  217.      Title 17 United States Code (Copyright Act of 1976):
  218.  
  219.      Section 101, page 1292-1293:
  220.  
  221.        "Definitions"
  222.  
  223.           'A "derivative work" is a work based upon one or more preexisting
  224.            works, such as a translation, musical arrangement, dramatization,
  225.            fictionalization, motion picture version, sound recording, art
  226.            reproduction, abridgement, condesation, or any other form in
  227.            which a work may be recast, transformed, or adapted.  A work
  228.            consisting of editorial revisions, annotations, elaborations,
  229.            or other modifications which, as a whole, represent an original
  230.            work of authorship, is a "derivative work".'
  231.  
  232.           'A "work of the United States Government" is a work prepared
  233.            by an officer or employee of the United States Government
  234.            as part of that person's official duties.'
  235.  
  236.  
  237.      Section 105, page 1310:
  238.  
  239.         "Subject matter of copyright:  United States Government works"
  240.  
  241.           'Copyright protection under this title is not available for
  242.            any work of the United States Government, but the United States
  243.            Government is not precluded from receiving and holding copyrights
  244.            transferred to it by assignment, bequest, or otherwise.'
  245.  
  246.    See also:
  247.  
  248.      Executive Order 12674 of April 12, 1989 (as modified by E.O. 12731)
  249.  
  250.        Part I--Principles of Ethical Conduct:
  251.  
  252.           Section 101. Principles of Ethical Conduct, paragraph (n).
  253.  
  254.             'Employees shall endeavor to avoid any actions creating
  255.              the appearance that they are violating the law or the
  256.              ethical standards promulgated pursuant to this order.'
  257.  
  258.    See also:
  259.  
  260.       5 Code of Federal Regulations, 57 Federal Register 35006-35067:
  261.  
  262.         Section 2635.101, "Basic obligation of public service"
  263.  
  264.  
  265.           2635.101 (b)(10):
  266.  
  267.             'Employees shall not engage in outside employment or
  268.              activities, including seeking or negotiating for
  269.              employment, that conflict with official Government
  270.              duties and responsibilities.'
  271.  
  272.  
  273.           2635.101 (b)(14):
  274.  
  275.             'Employees shall endeavor to avoid any actions creating
  276.              the appearance that they are violating the law or the
  277.              ethical standards set forth in this part.  Whether
  278.              particular circumstances create an appearance that the
  279.              law or these standards have been violated shall be
  280.              determined from the perspective of a reasonable person
  281.              with knowledge of the relevant facts.'
  282.  
  283.  
  284. Distribution Sites:
  285.  
  286.   You will always be able to find the latest version of TDE in the
  287. SIMTEL20 archives in the PD1:<MSDOS.EDITOR> directory, in Library 16 of
  288. Utilforum/Tips forum in PC MagNet on CompuServe (search for TDE as the
  289. keyword), or on the Keystone Connection BBS, Keystone Heights, Florida,
  290. USA, in directory 15, DOS help/utils.  I do not upload TDE to any other
  291. file archive, Frank.
  292.  
  293.  
  294. =============================  cut here  =================================
  295.  
  296.                     Standard SIMTEL20 download Info
  297.  
  298.                          ----------------------
  299.  
  300. SIMTEL20 allows only nine ANONYMOUS FTP logins during weekday prime
  301. time, 5am to 3pm Mountain Time (GMT-7), but 27 otherwise.
  302.  
  303. SIMTEL20 files are also available by anonymous ftp from mirror sites
  304. OAK.Oakland.Edu (141.210.10.117), wuarchive.wustl.edu (128.252.135.4),
  305. archive.orst.edu (128.193.2.13), ftp.uu.net (137.39.1.9), nic.funet.fi
  306. (128.214.6.100), src.doc.ic.ac.uk (146.169.3.7), nic.switch.ch
  307. (130.59.1.40), archie.au (139.130.4.6), NCTUCCCA.edu.tw (140.111.3.21),
  308. by e-mail through the BITNET/EARN file servers, or by uucp from UUNET's
  309. 1-900-GOT-SRCS.  See UUNET file uunet!~/info/archive-help for details.
  310.  
  311. OAK.Oakland.Edu is the primary mirror site for WSMR-SIMTEL20.Army.Mil.
  312. All other mirror sites (except wuarchive) and all LISTSERV and TRICKLE
  313. servers get their SIMTEL20 files from OAK instead of SIMTEL20 because
  314. it is much faster and allows more simultaneous ftp connections.  OAK is
  315. always "in sync" with SIMTEL20 because I maintain it, in addition to my
  316. duties at SIMTEL20.  I run OAK's mirror program whenever new files are
  317. added at SIMTEL20.
  318.  
  319. If you cannot access them via FTP or e-mail, most SIMTEL20 MSDOS
  320. files, including the PC-Blue collection, are also available for
  321. downloading from Detroit Download Central (313) 885-3956.  DDC
  322. has multiple lines which support 300/1200/2400/9600/14400 bps
  323. (103/212/V22bis/HST/V32bis/V42bis/MNP).  This is a subscription system
  324. with an average hourly cost of 17 cents.  It is also accessable on
  325. Telenet via PC Pursuit and on Tymnet via StarLink outdial.  New files
  326. uploaded to SIMTEL20 are usually available on DDC within 24 hours.
  327.  
  328. CD-ROM copies of the SIMTEL20 MS-DOS collection are available from
  329. Coyote Data, Ltd., 1142 N. Main, Rochester, MI 48307, telephone
  330. (800) 451-7093 or (313) 656-8265, or FAX (313) 651-4071.  E-mail:
  331. 71756.444@CompuServe.COM  or  CIS 71756,444.  The consumer version of
  332. their Oasis Library CD-ROM re-catalogs the MS-DOS files of SIMTEL20,
  333. adds category and key-word search and retrieval utilities, and provides
  334. on-line file descriptions.  Quarterly update subscriptions are available.
  335.  
  336. CD-ROM copies of the SIMTEL20 MS-DOS, Macintosh and Unix-C collections
  337. are available from Walnut Creek CDROM, 1547 Palos Verdes, Suite 260,
  338. Walnut Creek, CA 94596-2228, telephone (800) 786-9907 or (510) 947-5996,
  339. or FAX (510) 947-1644.  E-mail: rab@cdrom.com.  Quarterly update sub-
  340. scriptions are available.
  341.  
  342. Keith Petersen
  343.  
  344.                          ----------------------
  345.  
  346.                         Additional SIMTEL20 info
  347.  
  348.                          ----------------------
  349.  
  350.  
  351. PD1:<MSDOS.FILEDOCS>CHANGES.DOC            Last revised: March 29, 1993
  352.  
  353.             WSMR-SIMTEL20.Army.Mil switches to ZIP 2.0
  354.  
  355. Effective April 2, 1993 many of the new ZIP files uploaded to SIMTEL20
  356. will be in the public domain ZIP version 2.0 format.  After that date
  357. the index files SIMIBM.ZIP and SIMLIST.ZIP will be created in the new
  358. format.
  359.  
  360. SIMTEL20 has standardized on the Info-ZIP group's ZIP and UNZIP because
  361. they are freely distributable and they have no restrictions on exporting.
  362. The latest version of Info-ZIP's ZIP and UNZIP can always be found in
  363. directory PD1:<MSDOS.ZIP> and will always have the name "Info-ZIP" in
  364. the description to make them easy to locate.
  365.  
  366. PKWare's PKZIP 2.x will not be offered due to export restrictions.
  367. Older versions of PKZIP will be deleted to avoid confusion due to
  368. the fact that they cannot handle the ZIP version 2.0 format files.
  369.  
  370. Keith
  371. --
  372. Keith Petersen
  373. Maintainer of the MS-DOS archive at WSMR-SIMTEL20.Army.Mil [192.88.110.20]
  374. Internet: w8sdz@WSMR-SIMTEL20.Army.Mil   or     w8sdz@Vela.ACS.Oakland.Edu
  375. Uucp: uunet!umich!vela!w8sdz                         BITNET: w8sdz@OAKLAND
  376.  
  377. =================================  end  ==================================
  378.  
  379.  
  380.                          Keystone Connection BBS
  381.  
  382.   The Keystone Connection BBS (904)473-9790 is a free public board.  This
  383. is a multiline BBS with no restrictions.  The latest version of TDE will
  384. always be available here.  USRobotics Dual Standard modems allow
  385. connections up through 16800 bps, so it will only take a few minutes to
  386. download the file.  TDE will be in directory 15, the DOS help/utils
  387. directory.  If you have any questions concerning the BBS, leave a message
  388. for the friendly sysop, Bruce McHollan.  If you have any questions
  389. concerning TDE, leave a message for me, Frank.  I usually drop by Keystone C.
  390. once or twice a week.
  391.  
  392.  
  393. Background:
  394.  
  395.   At work, I have written several editors that may only be used for a
  396. certain type of file (almost an expert system).  I have always wanted to
  397. write a general purpose public domain text editor.  It seems none of the
  398. existing public domain or shareware editors have all of the features I
  399. like.  I'm stupid and proud of it.  Since I'm so stupid, the new editor
  400. should be really easy to use.  My wish list of features are:
  401.  
  402.    Blocks:
  403.       Line, stream, and box blocks.
  404.       Move, delete, copy, kopy, overlay, fill, print, number, and sort.
  405.       Block actions within or between files.
  406.  
  407.    Files:
  408.       Multiple files limited only by memory.
  409.       Text and binary files.
  410.  
  411.    Windows:
  412.       Multiple windows limited only by memory.
  413.       Split screen horizontally and vertically
  414.       Changes to text in one window are updated in all windows of same file.
  415.       Interactively resize windows.
  416.       Two windows of same size so two files can be easily compared.
  417.  
  418.    Search/Replace:
  419.       Ignore or Match case of pattern.
  420.       Prompt or no prompt replace.
  421.       Boyer-Moore pattern matching algorithm.
  422.  
  423.    User Configuration:
  424.       Ability to assign any editor function to any recognized function key.
  425.       Redefine color attributes in all editor fields.
  426.       Change default editor settings.
  427.       Macro recording and playback.
  428.  
  429.    Other:
  430.       Split/join line.
  431.       Lines as long a 1040 characters.
  432.       Paren balance.
  433.       Mode/information line.
  434.       Cursor sync.
  435.       Directory list
  436.       Ruler with a cursor pointer
  437.  
  438.  
  439.  
  440. Douglas Thomson's editor, DTE 5.1:
  441.  
  442.   Well, I found a public domain editor that had most of the features on my
  443. wish list.  The original code was extremely well documented.  That editor
  444. was DTE 5.1, written by Douglas Thomson, Gippsland, Victoria, Australia.
  445. So instead of writing an editor from scratch, I based my editor around
  446. Doug's well designed and documented program.   My editor was written using
  447. DTE 5.1 as an outline.  Doug, thanks a lot for releasing the source code
  448. for your editor.
  449.  
  450.   DTE 5.1 is pretty much machine independent.  It runs on PC's, HP 3000's,
  451. and generic Unix system V release 2 systems.  It was designed to work well
  452. over slow communication lines, eg 1200 baud.  Screen updates are kept to a
  453. minimum which saves time and money when using dial-up phone lines.  DTE
  454. 5.1 uses the WordStar/Turbo x style key definitions.  If you need an
  455. editor for use over slow communication terminals, check out Doug's editor.
  456.  
  457.  
  458. TDE, the Thomson-Davis Editor:
  459.  
  460.   My dream editor was to be written specifically for PC's.  At work, we
  461. have an IBM mainframe.  The only reason I use the mainframe is for e-mail
  462. and for backup of my PC files (I have exaggerated a little).  I use my PC
  463. editors to compose my mail then upload to the mainframe to send it.  So, I
  464. really don't need or desire a machine independent editor.
  465.  
  466.   Being that the big text buffer was replaced by a double linked list,
  467. most of the pointer arithmetic stuff went away.  Now that TDE can handle
  468. binary files, the '\0' and ^Z went away, too.
  469.  
  470.   I modified almost all of the algorithms in the original DTE 5.1 editor
  471. and added several more.  The block and find/replace algorithms are
  472. completely rewritten.  Block operations now use line, box, and stream
  473. blocks.  Available block operations include move, delete, copy, kopy,
  474. fill, overlay, block expand tabs, block compress tabs, block compress
  475. indent tab, block print, block write to file, block upper case, block
  476. lower case, block strip hi bit, trim block, number box block, swap block,
  477. and sort box block (a few of these functions were available for stream
  478. blocks in the original DTE 5.1).  Block operations are allowed within or
  479. between files.  The "brute force" text find algorithm was replaced by the
  480. Boyer-Moore string matching algorithm, a very fast text search algorithm.
  481. The text display algorithms were rewritten.  Window operations were
  482. rewritten, enhanced, and streamlined.  Windows may now be split vertically
  483. as well as horizontally.  Support for lines as long as 1040 characters was
  484. added.  Horizontal scrolling/paging/panning are allowed.  A mode/
  485. information lite bar was added to display the various modes at the bottom
  486. of the screen.  Displayed in the lite bar are: number of open files and
  487. total number of windows, available memory for editing the current file or
  488. additional files, and the editor mode flags.  Displayed with the file name
  489. are:  file attributes, the total number of lines in the file (size), and
  490. the current line number and column number of the cursor.  The join line,
  491. split line, and dup line functions were added.  Any ASCII or Extended
  492. ASCII character can be entered into the text file by using the ALT-xxx
  493. method.  Several often used string routines were rewritten in assembly
  494. and optimized for 16 bit processors, which makes cursor movement very
  495. fast through any size file.  One function that I sorely missed, a simple
  496. undelete function, was added.  A few simple word processing functions
  497. were also added: word wrap, paragraph format, and left, right, and
  498. center justify functions.  A dynamic left margin was added for writers.
  499. Smart tabs were added for use with tables and formatted data files.  To
  500. make TDE a more "standard" editor, logical physical tabs were added.
  501. With TabInflate, the user no longer has to physically expand tabs, as
  502. TDE will inflate tabs on the screen.  Also added was a cursor sync
  503. function.  After using the sync function for a day, it became apparent
  504. that a hilited cursor line was needed to keep track of cursor positions
  505. in all windows.  A directory function was added so users may search
  506. directories for files to load.  The file loading feature was expanded to
  507. make TDE search a file list for a pattern.  Files are loaded only if the
  508. pattern is present.  Another useful feature, a key stroke record and
  509. playback (simple macros), was added to make simple, repititive, editing
  510. tasks easier; recursive macros are allowed.  A critical error handler
  511. was added to give the user more info on hardware faults.  To help users
  512. construct formatted data or formatted source code (FORTRAN) files, a
  513. ruler line with a column pointer was added.  Now, TDE will diff any two
  514. windows.  A configuration utility was written to allow the user to
  515. customize all colors and the 233 recognized function keys with no
  516. restrictions.  Users may now customize the sort sequence for
  517. Ignore/Match case, which allows for correct sorting of alphabets with
  518. characters in the Extended ASCII character set.  All keys, modes, and
  519. colors may be assigned from a configuration file.  For users who work
  520. with alphabets that contain special accent characters, any ASCII or
  521. Extended ASCII character may be assigned to unused function keys by
  522. permanently storing a macro definition file in tde.exe.  And last, an
  523. instant help screen with key definitions was added.
  524.  
  525.  
  526. Programming Notes:
  527.  
  528.   The text buffer scheme was replaced by a double linked list.  During
  529. testing, I also implemented an array of text pointers.  Just thought
  530. a double linked list was easier.  Incidentally, in previous versions
  531. of the READ_ME.TDE file, I wrote that most commercial editors use a
  532. relocatable array of text pointers.  That's probably wrong  -- most
  533. commercial editors use a double linked list.  Even the editors that
  534. I wrote at work over the past six years use a double linked list.
  535. Oh well, just reinforcing how stupid I am.  I have trouble remembering
  536. what I did five minutes ago.
  537.  
  538.   The 101 key keyboard simulation utility requires an assembler to produce
  539. object code.  If you don't have access to an assembler, you may comment
  540. out the calls to function simulate_enh_kbd( ) in main.c.  TDE will still
  541. take advantage of the 101 enhanced keyboard, but will not be able to use
  542. the simulated 101 keys on older 83/84 keyboard systems.
  543.  
  544.   Several functions in TDE return an integer value that indicates whether
  545. or not an ERROR occured.  The variable name most often used to return the
  546. result is "rc".  For non-IBM mainframers, rc == return code.
  547.  
  548.  
  549. Further Reference/Reading:
  550.  
  551.   "The Literature" is filled with all areas of text editing:  human
  552. factors, construction schemes, function definitions, pattern matching,
  553. documentation guidelines, and a proposed ANSI/ISO standard for editors.
  554. Some journals you might browse thru are Communications of the ACM,
  555. Journal of the ACM, Computing Surveys, Software-Practice and Experience,
  556. and SIAM Journal on Computing.
  557.  
  558.   One particular publication you might browse is _ACM Sigplan Notices_
  559. 16 (No. 6), June 1981, Proceedings of the ACM SIGPLAN SIGOA Symposium on
  560. Text Manipulation, Portland, Oregon, June 8-10, 1981 (ACM Order No.
  561. 548810).  Several papers on text editing/manipulation were presented.
  562. One paper you might read is by Richard M. Stallman, "EMACS The
  563. Extensible, Customizable Self-Documenting Display Editor", pp 147-156.
  564. EMACS and EMACS subsets have been ported numerous times to most major
  565. operating systems.
  566.  
  567.   A text that encourages good programming practices while including
  568. "real world" examples is by Brian W. Kernighan and P. J. Plauger,
  569. _Software Tools_, Addison-Wesley Publishing Company, Reading, Mass.,
  570. 1976, ISBN 0-201-03669-X.  Incidentally, the authors present all the
  571. tools needed to construct a text editor.  You may recognize Brian
  572. Kernighan as a coauthor of _The C Programming Language_, 1978 and 1988,
  573. Prentice-Hall, Englewood Cliffs, New Jersey, ISBN 0-13-110362-8.  And,
  574. you may recognize P. J. Plauger as the secretary of X3J11, the ANSI
  575. technical subcommittee on C language standardization.
  576.  
  577.  
  578.  
  579. Bug reports:
  580.  
  581.   There are no bugs in TDE, only features that may inconvenience you. ;*)
  582. Please send inconvenience reports via e-mail, if at all possible, to
  583. fmd@tifton.cpes.peachnet.edu.  For y'all over there on CompuServe, my e-mail
  584. address is ">Internet:fmd@tifton.cpes.peachnet.edu" (don't type the quotes,
  585. just everything between them).  I'll try to respond as quickly as possible
  586. to reports received via e-mail.
  587.  
  588.  
  589. About the author of TDE, Frank Davis:
  590.  
  591.   Frank "yank" Davis, who has an impressive collection of inflatable bed
  592. bunnies, graduated near the bottom of his class in 1983 from Georgia Tech
  593. with a BS in Information and Computer Science.  He can be found drinking
  594. massive quantities of beer in his underwear (boxer shorts) on his couch
  595. while watching college football and Atlanta Braves baseball on his 19 inch
  596. color TV.  Hobbies include:  sex, drugs, and rock 'n' roll.
  597.  
  598.   This program is another quality product from Yank Software, "Software
  599. you just can't beat."
  600.